<!--********************************************************************
* Copyright© 2000 - 2025 SuperMap Software Co.Ltd. All rights reserved.
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title data-i18n="resources.title_themeUnique"></title>
    <script type="text/javascript" src="../js/include-web.js"></script>
    <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%; position: absolute;top: 0;">
<div id="map" style="width: 100%;height:100%"></div>
<script type="text/javascript">
    var map, themeLayer, options,
        url = (window.isLocal ? window.server : "https://iserver.supermap.io")+"/iserver/services/map-china/rest/maps/China";
    new ol.supermap.MapService(url).getMapInfo().then(function (serviceResult) {
        var mapJSONObj = serviceResult.result;
        map = new ol.Map({
            target: 'map',
            // ol v7版本用法为ol.control.defaults.defaults； v6版本以下用法为ol.control.defaults
            controls: ol.control.defaults.defaults({attributionOptions: {collapsed: false}})
                .extend([new ol.supermap.control.Logo({ link: "https://iclient.supermap.io" })]),
            view: new ol.View({
                center: [12406035, 4304933],
                zoom: 4,
                projection: "EPSG:3857",
                multiWorld: true
            })
        });
        options = ol.source.TileSuperMapRest.optionsFromMapJSON(url, mapJSONObj);
        var layer = new ol.layer.Tile({
            source: new ol.source.TileSuperMapRest(options)
        });
        map.addLayer(layer);
        createTheme();
    });

    function createTheme() {
        var style1, style2, style3, style4, style5, style6;
        style1 = new ol.supermap.ServerStyle({
            fillForeColor: new ol.supermap.ServerColor(248, 203, 249),
            lineColor: new ol.supermap.ServerColor(255, 255, 255),
            lineWidth: 0.1
        });
        style2 = new ol.supermap.ServerStyle({
            fillForeColor: new ol.supermap.ServerColor(196, 255, 189),
            lineColor: new ol.supermap.ServerColor(255, 255, 255),
            lineWidth: 0.1
        });
        style3 = new ol.supermap.ServerStyle({
            fillForeColor: new ol.supermap.ServerColor(255, 173, 173),
            lineColor: new ol.supermap.ServerColor(255, 255, 255),
            lineWidth: 0.1
        });
        style4 = new ol.supermap.ServerStyle({
            fillForeColor: new ol.supermap.ServerColor(255, 239, 168),
            lineColor: new ol.supermap.ServerColor(255, 255, 255),
            lineWidth: 0.1
        });
        style5 = new ol.supermap.ServerStyle({
            fillForeColor: new ol.supermap.ServerColor(173, 209, 255),
            lineColor: new ol.supermap.ServerColor(255, 255, 255),
            lineWidth: 0.1
        });
        style6 = new ol.supermap.ServerStyle({
            fillForeColor: new ol.supermap.ServerColor(132, 164, 232),
            lineColor: new ol.supermap.ServerColor(255, 255, 255),
            lineWidth: 0.1
        });

        var themeUniqueIteme1 = new ol.supermap.ThemeUniqueItem({
                unique: "黑龙江省",
                style: style1
            }),
            themeUniqueIteme2 = new ol.supermap.ThemeUniqueItem({
                unique: "湖北省",
                style: style2
            }),
            themeUniqueIteme3 = new ol.supermap.ThemeUniqueItem({
                unique: "吉林省",
                style: style3
            }),
            themeUniqueIteme4 = new ol.supermap.ThemeUniqueItem({
                unique: "内蒙古自治区",
                style: style4
            }),
            themeUniqueIteme5 = new ol.supermap.ThemeUniqueItem({
                unique: "青海省",
                style: style5
            }),
            themeUniqueIteme6 = new ol.supermap.ThemeUniqueItem({
                unique: "新疆维吾尔自治区",
                style: style6
            }),
            themeUniqueIteme7 = new ol.supermap.ThemeUniqueItem({
                unique: "云南省",
                style: style1
            }),
            themeUniqueIteme8 = new ol.supermap.ThemeUniqueItem({
                unique: "四川省",
                style: style4
            }),
            themeUniqueIteme9 = new ol.supermap.ThemeUniqueItem({
                unique: "贵州省",
                style: style3
            }),
            themeUniqueIteme10 = new ol.supermap.ThemeUniqueItem({
                unique: "甘肃省",
                style: style3
            }),
            themeUniqueIteme11 = new ol.supermap.ThemeUniqueItem({
                unique: "宁夏回族自治区",
                style: style5
            }),
            themeUniqueIteme12 = new ol.supermap.ThemeUniqueItem({
                unique: "重庆市",
                style: style6
            }),
            themeUniqueIteme13 = new ol.supermap.ThemeUniqueItem({
                unique: "山东省",
                style: style1
            }),
            themeUniqueIteme14 = new ol.supermap.ThemeUniqueItem({
                unique: "安徽省",
                style: style2
            }),
            themeUniqueIteme15 = new ol.supermap.ThemeUniqueItem({
                unique: "江西省",
                style: style3
            }),
            themeUniqueIteme16 = new ol.supermap.ThemeUniqueItem({
                unique: "浙江省",
                style: style4
            }),
            themeUniqueIteme17 = new ol.supermap.ThemeUniqueItem({
                unique: "台湾省",
                style: style2
            }),
            themeUniqueIteme18 = new ol.supermap.ThemeUniqueItem({
                unique: "江苏省",
                style: style6
            }),
            themeUniqueIteme19 = new ol.supermap.ThemeUniqueItem({
                unique: "湖南省",
                style: style5
            }),
            themeUniqueIteme20 = new ol.supermap.ThemeUniqueItem({
                unique: "河南省",
                style: style4
            }),
            themeUniqueIteme21 = new ol.supermap.ThemeUniqueItem({
                unique: "河北省",
                style: style3
            }),
            themeUniqueIteme22 = new ol.supermap.ThemeUniqueItem({
                unique: "福建省",
                style: style5
            }),
            themeUniqueIteme23 = new ol.supermap.ThemeUniqueItem({
                unique: "广西壮族自治区",
                style: style6
            }),
            themeUniqueIteme24 = new ol.supermap.ThemeUniqueItem({
                unique: "西藏自治区",
                style: style2
            }),
            themeUniqueIteme25 = new ol.supermap.ThemeUniqueItem({
                unique: "广东省",
                style: style4
            }),
            themeUniqueIteme26 = new ol.supermap.ThemeUniqueItem({
                unique: "山西省",
                style: style2
            }),
            themeUniqueIteme27 = new ol.supermap.ThemeUniqueItem({
                unique: "陕西省",
                style: style1
            }),
            themeUniqueIteme28 = new ol.supermap.ThemeUniqueItem({
                unique: "天津市",
                style: style5
            }),
            themeUniqueIteme29 = new ol.supermap.ThemeUniqueItem({
                unique: "北京市",
                style: style2
            }),

            themeUniqueIteme30 = new ol.supermap.ThemeUniqueItem({
                unique: "辽宁省",
                style: style1
            });

        var themeUniqueItemes = [
            themeUniqueIteme1, themeUniqueIteme2, themeUniqueIteme3, themeUniqueIteme4, themeUniqueIteme5,
            themeUniqueIteme6, themeUniqueIteme7, themeUniqueIteme8, themeUniqueIteme9, themeUniqueIteme10,
            themeUniqueIteme11, themeUniqueIteme12, themeUniqueIteme13, themeUniqueIteme14, themeUniqueIteme15,
            themeUniqueIteme16, themeUniqueIteme17, themeUniqueIteme18, themeUniqueIteme19, themeUniqueIteme20,
            themeUniqueIteme21, themeUniqueIteme22, themeUniqueIteme23, themeUniqueIteme24, themeUniqueIteme25,
            themeUniqueIteme26, themeUniqueIteme27, themeUniqueIteme28, themeUniqueIteme29, themeUniqueIteme30
        ];

        var themeUnique = new ol.supermap.ThemeUnique({
            uniqueExpression: "Name",
            items: themeUniqueItemes,
            defaultStyle: style1
        });
        var themeParameters = new ol.supermap.ThemeParameters({
            datasetNames: ["Province_R"],
            dataSourceNames: ["China"],
            themes: [themeUnique]
        });
        
        new ol.supermap.ThemeService(url).getThemeInfo(themeParameters).then(function (serviceResult) {
            var result = serviceResult.result;
            if (result && result.newResourceID) {
                themeLayer = new ol.layer.Tile({
                    source: new ol.source.TileSuperMapRest({
                        url: url,
                        noWrap: true,
                        cacheEnabled: false,
                        transparent: true,
                        layersID: result.newResourceID,
                        transparent: true
                    })
                });
                map.addLayer(themeLayer);
            }
        });
    }
</script>
</body>
</html>